An Internet Protocol Television (Internet Protocol Television, IPTV) system has gained a wide application. However, a problem of delay exists during a channel changing process. There are many reasons why a delay exists during IPTV channel changing. The most important reason is that it takes time to wait for a key frame that can be independently decoded because a terminal can perform playing only when a media stream carrying the key frame is received.
To shorten the delay during the channel changing process, the prior art proposes a fast channel change (Fast Channel Change, FCC) mechanism. The basic idea is to deploy an FCC server on a network side and buffer, by the FCC server, a multicast media stream transmitted by a multicast device. When receiving a channel changing request transmitted by a terminal, the FCC server selects, from a buffer, a key frame closest to a channel changing moment, and starting from the key frame, unicasts the buffered multicast media stream (a media stream unicasted by the FCC server to the terminal, referred to as a burst media stream) to the terminal at a rate higher than a normal rate on a multicast channel. In this way, before receiving a multicast media stream transmitted by the multicast device corresponding to a target channel, the terminal may play the burst media stream transmitted by the FCC server in a unicast manner, so that users can watch program content on the target channel as soon as possible.
However, the content of the burst media stream transmitted by the FCC server to the terminal in a unicast manner is earlier than that of the multicast media stream transmitted by the multicast device, and the transmission rate of the burst media stream is higher than the rate of the multicast media stream. That is, the transmission rate of the burst media stream is higher than the decoding rate of the terminal. Therefore, when the terminal receives the multicast media stream, a burst media stream that has not been decoded may still be buffered in the buffer. This part of burst media stream that has not been decoded may cause that the content played by the terminal is staler than the content played by other terminals that have not undergone a fast channel change. That is to say, compared with the terminals that have not undergone channel changing, the terminal that has undergone channel changing plays the multicast media stream with a delay.